SharedObject.onStatus

Доступность

Flash Player 6.

Синтаксис

myLocalSharedObject.onStatus = function(infoObject:Object) {
  // ваш код
}

Параметры

infoObject Параметр, зависящий от статуса.

Возвращает

Ничего.

Описание

Обработчик события; вызывается при ошибке, предупреждении или вызове информационного окна shared object. Если Вы хотите, чтобы при вызове обработчика происходили какие-либо действия, надо создать для этого функцию, которой будет передаваться информация, генерируемая shared object.

Информационный объект имеет свойство code, содержащее строку, описывающее причину вызова обработчика onStatus, а также свойство level, содержащее строку, имеющую либо значение "Status", либо значение "Error".

В дополнение к обработчику onStatus, Flash также имеет глобальную функцию System.onStatus. Если onStatus вызывается для объекта, для которого не определена функция-обработчик, Flash вызывает функцию System.onStatus, если она определена.

Ниже приведен список событий для класса SharedObject:

Свойство Code

Свойство Level

Описание

SharedObject.Flush.Failed

Error

Вызов метода SharedObject.flush(), вернувшего значение "pending", завершился неудачей (пользователь запретил увеличение квоты дискового пространства, выделяемой shared object, когда Flash Player отобразил диалоговое окно Local Storage Settings).

SharedObject.Flush.Success

Status

Вызов метода SharedObject.flush(), вернувшего значение "pending", завершился удачно (пользователь разрешил увеличение квоты для shared object).

Пример

В следующем примере показываются различные сообщения, в зависимости от того, разрешил или запретил пользователь объекту класса SharedObject запись данных на диск.

var message_str:String;
this.createTextField("message_txt", this.getNextHighestDepth(), 0, 0, 300, 22);
message_txt.html = true;
this.createTextField("status_txt", this.getNextHighestDepth(), 10, 30, 300, 100);
status_txt.multiline = true;
status_txt.html = true;

var items_array:Array = new Array(101, 346, 483);
var currentUserIsAdmin:Boolean = true;
var currentUserName:String = "Ramona";
var my_so:SharedObject = SharedObject.getLocal("superfoo");
my_so.data.itemNumbers = items_array;
my_so.data.adminPrivileges = currentUserIsAdmin;
my_so.data.userName = currentUserName;

my_so.onStatus = function(infoObject:Object) {
  status_txt.htmlText = "<textformat tabStops='[50]'>";
  for (var i in infoObject) {
    status_txt.htmlText += "<b>"+i+"</b>"+"\t"+infoObject[i];
  }
  status_txt.htmlText += "</textformat>";
};
var flushResult = my_so.flush(1000001);
switch (flushResult) {
case 'pending' :
  message_str = "Переполнение, ждем решения пользователя.";
  break;
case true :
  message_str = "Запись прошла успешно. Запрос пользователю был удовлетворен.";
  break;
case false :
  message_str = "Запить не удалась. Запрос пользователю был отклонен.";
  break;
}
message_txt.htmlText = "<a href=\"asfunction:System.showSettings,1\"><u>"+message_str+"</u></a>";

См. также

SharedObject.getLocal(), System.onStatus